package com.attendance.www.hr.entitys;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class EmployeeExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public EmployeeExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andEmployeeIdIsNull() {
            addCriterion("employee_id is null");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdIsNotNull() {
            addCriterion("employee_id is not null");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdEqualTo(Integer value) {
            addCriterion("employee_id =", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdNotEqualTo(Integer value) {
            addCriterion("employee_id <>", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdGreaterThan(Integer value) {
            addCriterion("employee_id >", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("employee_id >=", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdLessThan(Integer value) {
            addCriterion("employee_id <", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdLessThanOrEqualTo(Integer value) {
            addCriterion("employee_id <=", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdIn(List<Integer> values) {
            addCriterion("employee_id in", values, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdNotIn(List<Integer> values) {
            addCriterion("employee_id not in", values, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdBetween(Integer value1, Integer value2) {
            addCriterion("employee_id between", value1, value2, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("employee_id not between", value1, value2, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoIsNull() {
            addCriterion("employee_no is null");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoIsNotNull() {
            addCriterion("employee_no is not null");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoEqualTo(String value) {
            addCriterion("employee_no =", value, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoNotEqualTo(String value) {
            addCriterion("employee_no <>", value, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoGreaterThan(String value) {
            addCriterion("employee_no >", value, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoGreaterThanOrEqualTo(String value) {
            addCriterion("employee_no >=", value, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoLessThan(String value) {
            addCriterion("employee_no <", value, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoLessThanOrEqualTo(String value) {
            addCriterion("employee_no <=", value, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoLike(String value) {
            addCriterion("employee_no like", value, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoNotLike(String value) {
            addCriterion("employee_no not like", value, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoIn(List<String> values) {
            addCriterion("employee_no in", values, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoNotIn(List<String> values) {
            addCriterion("employee_no not in", values, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoBetween(String value1, String value2) {
            addCriterion("employee_no between", value1, value2, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoNotBetween(String value1, String value2) {
            addCriterion("employee_no not between", value1, value2, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andChineseNameIsNull() {
            addCriterion("chinese_name is null");
            return (Criteria) this;
        }

        public Criteria andChineseNameIsNotNull() {
            addCriterion("chinese_name is not null");
            return (Criteria) this;
        }

        public Criteria andChineseNameEqualTo(String value) {
            addCriterion("chinese_name =", value, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameNotEqualTo(String value) {
            addCriterion("chinese_name <>", value, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameGreaterThan(String value) {
            addCriterion("chinese_name >", value, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameGreaterThanOrEqualTo(String value) {
            addCriterion("chinese_name >=", value, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameLessThan(String value) {
            addCriterion("chinese_name <", value, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameLessThanOrEqualTo(String value) {
            addCriterion("chinese_name <=", value, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameLike(String value) {
            addCriterion("chinese_name like", value, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameNotLike(String value) {
            addCriterion("chinese_name not like", value, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameIn(List<String> values) {
            addCriterion("chinese_name in", values, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameNotIn(List<String> values) {
            addCriterion("chinese_name not in", values, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameBetween(String value1, String value2) {
            addCriterion("chinese_name between", value1, value2, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameNotBetween(String value1, String value2) {
            addCriterion("chinese_name not between", value1, value2, "chineseName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameIsNull() {
            addCriterion("english_name is null");
            return (Criteria) this;
        }

        public Criteria andEnglishNameIsNotNull() {
            addCriterion("english_name is not null");
            return (Criteria) this;
        }

        public Criteria andEnglishNameEqualTo(String value) {
            addCriterion("english_name =", value, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameNotEqualTo(String value) {
            addCriterion("english_name <>", value, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameGreaterThan(String value) {
            addCriterion("english_name >", value, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameGreaterThanOrEqualTo(String value) {
            addCriterion("english_name >=", value, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameLessThan(String value) {
            addCriterion("english_name <", value, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameLessThanOrEqualTo(String value) {
            addCriterion("english_name <=", value, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameLike(String value) {
            addCriterion("english_name like", value, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameNotLike(String value) {
            addCriterion("english_name not like", value, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameIn(List<String> values) {
            addCriterion("english_name in", values, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameNotIn(List<String> values) {
            addCriterion("english_name not in", values, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameBetween(String value1, String value2) {
            addCriterion("english_name between", value1, value2, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameNotBetween(String value1, String value2) {
            addCriterion("english_name not between", value1, value2, "englishName");
            return (Criteria) this;
        }

        public Criteria andSexIsNull() {
            addCriterion("sex is null");
            return (Criteria) this;
        }

        public Criteria andSexIsNotNull() {
            addCriterion("sex is not null");
            return (Criteria) this;
        }

        public Criteria andSexEqualTo(Integer value) {
            addCriterion("sex =", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotEqualTo(Integer value) {
            addCriterion("sex <>", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexGreaterThan(Integer value) {
            addCriterion("sex >", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexGreaterThanOrEqualTo(Integer value) {
            addCriterion("sex >=", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLessThan(Integer value) {
            addCriterion("sex <", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLessThanOrEqualTo(Integer value) {
            addCriterion("sex <=", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexIn(List<Integer> values) {
            addCriterion("sex in", values, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotIn(List<Integer> values) {
            addCriterion("sex not in", values, "sex");
            return (Criteria) this;
        }

        public Criteria andSexBetween(Integer value1, Integer value2) {
            addCriterion("sex between", value1, value2, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotBetween(Integer value1, Integer value2) {
            addCriterion("sex not between", value1, value2, "sex");
            return (Criteria) this;
        }

        public Criteria andEmailIsNull() {
            addCriterion("email is null");
            return (Criteria) this;
        }

        public Criteria andEmailIsNotNull() {
            addCriterion("email is not null");
            return (Criteria) this;
        }

        public Criteria andEmailEqualTo(String value) {
            addCriterion("email =", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotEqualTo(String value) {
            addCriterion("email <>", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThan(String value) {
            addCriterion("email >", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThanOrEqualTo(String value) {
            addCriterion("email >=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThan(String value) {
            addCriterion("email <", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThanOrEqualTo(String value) {
            addCriterion("email <=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLike(String value) {
            addCriterion("email like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotLike(String value) {
            addCriterion("email not like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailIn(List<String> values) {
            addCriterion("email in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotIn(List<String> values) {
            addCriterion("email not in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailBetween(String value1, String value2) {
            addCriterion("email between", value1, value2, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotBetween(String value1, String value2) {
            addCriterion("email not between", value1, value2, "email");
            return (Criteria) this;
        }

        public Criteria andRegionTypeIsNull() {
            addCriterion("region_type is null");
            return (Criteria) this;
        }

        public Criteria andRegionTypeIsNotNull() {
            addCriterion("region_type is not null");
            return (Criteria) this;
        }

        public Criteria andRegionTypeEqualTo(Integer value) {
            addCriterion("region_type =", value, "regionType");
            return (Criteria) this;
        }

        public Criteria andRegionTypeNotEqualTo(Integer value) {
            addCriterion("region_type <>", value, "regionType");
            return (Criteria) this;
        }

        public Criteria andRegionTypeGreaterThan(Integer value) {
            addCriterion("region_type >", value, "regionType");
            return (Criteria) this;
        }

        public Criteria andRegionTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("region_type >=", value, "regionType");
            return (Criteria) this;
        }

        public Criteria andRegionTypeLessThan(Integer value) {
            addCriterion("region_type <", value, "regionType");
            return (Criteria) this;
        }

        public Criteria andRegionTypeLessThanOrEqualTo(Integer value) {
            addCriterion("region_type <=", value, "regionType");
            return (Criteria) this;
        }

        public Criteria andRegionTypeIn(List<Integer> values) {
            addCriterion("region_type in", values, "regionType");
            return (Criteria) this;
        }

        public Criteria andRegionTypeNotIn(List<Integer> values) {
            addCriterion("region_type not in", values, "regionType");
            return (Criteria) this;
        }

        public Criteria andRegionTypeBetween(Integer value1, Integer value2) {
            addCriterion("region_type between", value1, value2, "regionType");
            return (Criteria) this;
        }

        public Criteria andRegionTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("region_type not between", value1, value2, "regionType");
            return (Criteria) this;
        }

        public Criteria andFirstDateIsNull() {
            addCriterion("first_date is null");
            return (Criteria) this;
        }

        public Criteria andFirstDateIsNotNull() {
            addCriterion("first_date is not null");
            return (Criteria) this;
        }

        public Criteria andFirstDateEqualTo(Date value) {
            addCriterionForJDBCDate("first_date =", value, "firstDate");
            return (Criteria) this;
        }

        public Criteria andFirstDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("first_date <>", value, "firstDate");
            return (Criteria) this;
        }

        public Criteria andFirstDateGreaterThan(Date value) {
            addCriterionForJDBCDate("first_date >", value, "firstDate");
            return (Criteria) this;
        }

        public Criteria andFirstDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("first_date >=", value, "firstDate");
            return (Criteria) this;
        }

        public Criteria andFirstDateLessThan(Date value) {
            addCriterionForJDBCDate("first_date <", value, "firstDate");
            return (Criteria) this;
        }

        public Criteria andFirstDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("first_date <=", value, "firstDate");
            return (Criteria) this;
        }

        public Criteria andFirstDateIn(List<Date> values) {
            addCriterionForJDBCDate("first_date in", values, "firstDate");
            return (Criteria) this;
        }

        public Criteria andFirstDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("first_date not in", values, "firstDate");
            return (Criteria) this;
        }

        public Criteria andFirstDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("first_date between", value1, value2, "firstDate");
            return (Criteria) this;
        }

        public Criteria andFirstDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("first_date not between", value1, value2, "firstDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateIsNull() {
            addCriterion("entry_date is null");
            return (Criteria) this;
        }

        public Criteria andEntryDateIsNotNull() {
            addCriterion("entry_date is not null");
            return (Criteria) this;
        }

        public Criteria andEntryDateEqualTo(Date value) {
            addCriterionForJDBCDate("entry_date =", value, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("entry_date <>", value, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateGreaterThan(Date value) {
            addCriterionForJDBCDate("entry_date >", value, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("entry_date >=", value, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateLessThan(Date value) {
            addCriterionForJDBCDate("entry_date <", value, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("entry_date <=", value, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateIn(List<Date> values) {
            addCriterionForJDBCDate("entry_date in", values, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("entry_date not in", values, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("entry_date between", value1, value2, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("entry_date not between", value1, value2, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeIsSeparatedIsNull() {
            addCriterion("employee_is_separated is null");
            return (Criteria) this;
        }

        public Criteria andEmployeeIsSeparatedIsNotNull() {
            addCriterion("employee_is_separated is not null");
            return (Criteria) this;
        }

        public Criteria andEmployeeIsSeparatedEqualTo(Integer value) {
            addCriterion("employee_is_separated =", value, "employeeIsSeparated");
            return (Criteria) this;
        }

        public Criteria andEmployeeIsSeparatedNotEqualTo(Integer value) {
            addCriterion("employee_is_separated <>", value, "employeeIsSeparated");
            return (Criteria) this;
        }

        public Criteria andEmployeeIsSeparatedGreaterThan(Integer value) {
            addCriterion("employee_is_separated >", value, "employeeIsSeparated");
            return (Criteria) this;
        }

        public Criteria andEmployeeIsSeparatedGreaterThanOrEqualTo(Integer value) {
            addCriterion("employee_is_separated >=", value, "employeeIsSeparated");
            return (Criteria) this;
        }

        public Criteria andEmployeeIsSeparatedLessThan(Integer value) {
            addCriterion("employee_is_separated <", value, "employeeIsSeparated");
            return (Criteria) this;
        }

        public Criteria andEmployeeIsSeparatedLessThanOrEqualTo(Integer value) {
            addCriterion("employee_is_separated <=", value, "employeeIsSeparated");
            return (Criteria) this;
        }

        public Criteria andEmployeeIsSeparatedIn(List<Integer> values) {
            addCriterion("employee_is_separated in", values, "employeeIsSeparated");
            return (Criteria) this;
        }

        public Criteria andEmployeeIsSeparatedNotIn(List<Integer> values) {
            addCriterion("employee_is_separated not in", values, "employeeIsSeparated");
            return (Criteria) this;
        }

        public Criteria andEmployeeIsSeparatedBetween(Integer value1, Integer value2) {
            addCriterion("employee_is_separated between", value1, value2, "employeeIsSeparated");
            return (Criteria) this;
        }

        public Criteria andEmployeeIsSeparatedNotBetween(Integer value1, Integer value2) {
            addCriterion("employee_is_separated not between", value1, value2, "employeeIsSeparated");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateIsNull() {
            addCriterion("employee_separated_date is null");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateIsNotNull() {
            addCriterion("employee_separated_date is not null");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateEqualTo(Date value) {
            addCriterionForJDBCDate("employee_separated_date =", value, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("employee_separated_date <>", value, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateGreaterThan(Date value) {
            addCriterionForJDBCDate("employee_separated_date >", value, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("employee_separated_date >=", value, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateLessThan(Date value) {
            addCriterionForJDBCDate("employee_separated_date <", value, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("employee_separated_date <=", value, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateIn(List<Date> values) {
            addCriterionForJDBCDate("employee_separated_date in", values, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("employee_separated_date not in", values, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("employee_separated_date between", value1, value2, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("employee_separated_date not between", value1, value2, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeTypeIsNull() {
            addCriterion("employee_type is null");
            return (Criteria) this;
        }

        public Criteria andEmployeeTypeIsNotNull() {
            addCriterion("employee_type is not null");
            return (Criteria) this;
        }

        public Criteria andEmployeeTypeEqualTo(Integer value) {
            addCriterion("employee_type =", value, "employeeType");
            return (Criteria) this;
        }

        public Criteria andEmployeeTypeNotEqualTo(Integer value) {
            addCriterion("employee_type <>", value, "employeeType");
            return (Criteria) this;
        }

        public Criteria andEmployeeTypeGreaterThan(Integer value) {
            addCriterion("employee_type >", value, "employeeType");
            return (Criteria) this;
        }

        public Criteria andEmployeeTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("employee_type >=", value, "employeeType");
            return (Criteria) this;
        }

        public Criteria andEmployeeTypeLessThan(Integer value) {
            addCriterion("employee_type <", value, "employeeType");
            return (Criteria) this;
        }

        public Criteria andEmployeeTypeLessThanOrEqualTo(Integer value) {
            addCriterion("employee_type <=", value, "employeeType");
            return (Criteria) this;
        }

        public Criteria andEmployeeTypeIn(List<Integer> values) {
            addCriterion("employee_type in", values, "employeeType");
            return (Criteria) this;
        }

        public Criteria andEmployeeTypeNotIn(List<Integer> values) {
            addCriterion("employee_type not in", values, "employeeType");
            return (Criteria) this;
        }

        public Criteria andEmployeeTypeBetween(Integer value1, Integer value2) {
            addCriterion("employee_type between", value1, value2, "employeeType");
            return (Criteria) this;
        }

        public Criteria andEmployeeTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("employee_type not between", value1, value2, "employeeType");
            return (Criteria) this;
        }

        public Criteria andEmployeeCategoryIsNull() {
            addCriterion("employee_category is null");
            return (Criteria) this;
        }

        public Criteria andEmployeeCategoryIsNotNull() {
            addCriterion("employee_category is not null");
            return (Criteria) this;
        }

        public Criteria andEmployeeCategoryEqualTo(Integer value) {
            addCriterion("employee_category =", value, "employeeCategory");
            return (Criteria) this;
        }

        public Criteria andEmployeeCategoryNotEqualTo(Integer value) {
            addCriterion("employee_category <>", value, "employeeCategory");
            return (Criteria) this;
        }

        public Criteria andEmployeeCategoryGreaterThan(Integer value) {
            addCriterion("employee_category >", value, "employeeCategory");
            return (Criteria) this;
        }

        public Criteria andEmployeeCategoryGreaterThanOrEqualTo(Integer value) {
            addCriterion("employee_category >=", value, "employeeCategory");
            return (Criteria) this;
        }

        public Criteria andEmployeeCategoryLessThan(Integer value) {
            addCriterion("employee_category <", value, "employeeCategory");
            return (Criteria) this;
        }

        public Criteria andEmployeeCategoryLessThanOrEqualTo(Integer value) {
            addCriterion("employee_category <=", value, "employeeCategory");
            return (Criteria) this;
        }

        public Criteria andEmployeeCategoryIn(List<Integer> values) {
            addCriterion("employee_category in", values, "employeeCategory");
            return (Criteria) this;
        }

        public Criteria andEmployeeCategoryNotIn(List<Integer> values) {
            addCriterion("employee_category not in", values, "employeeCategory");
            return (Criteria) this;
        }

        public Criteria andEmployeeCategoryBetween(Integer value1, Integer value2) {
            addCriterion("employee_category between", value1, value2, "employeeCategory");
            return (Criteria) this;
        }

        public Criteria andEmployeeCategoryNotBetween(Integer value1, Integer value2) {
            addCriterion("employee_category not between", value1, value2, "employeeCategory");
            return (Criteria) this;
        }

        public Criteria andIsVisaWaiverIsNull() {
            addCriterion("is_visa_waiver is null");
            return (Criteria) this;
        }

        public Criteria andIsVisaWaiverIsNotNull() {
            addCriterion("is_visa_waiver is not null");
            return (Criteria) this;
        }

        public Criteria andIsVisaWaiverEqualTo(Integer value) {
            addCriterion("is_visa_waiver =", value, "isVisaWaiver");
            return (Criteria) this;
        }

        public Criteria andIsVisaWaiverNotEqualTo(Integer value) {
            addCriterion("is_visa_waiver <>", value, "isVisaWaiver");
            return (Criteria) this;
        }

        public Criteria andIsVisaWaiverGreaterThan(Integer value) {
            addCriterion("is_visa_waiver >", value, "isVisaWaiver");
            return (Criteria) this;
        }

        public Criteria andIsVisaWaiverGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_visa_waiver >=", value, "isVisaWaiver");
            return (Criteria) this;
        }

        public Criteria andIsVisaWaiverLessThan(Integer value) {
            addCriterion("is_visa_waiver <", value, "isVisaWaiver");
            return (Criteria) this;
        }

        public Criteria andIsVisaWaiverLessThanOrEqualTo(Integer value) {
            addCriterion("is_visa_waiver <=", value, "isVisaWaiver");
            return (Criteria) this;
        }

        public Criteria andIsVisaWaiverIn(List<Integer> values) {
            addCriterion("is_visa_waiver in", values, "isVisaWaiver");
            return (Criteria) this;
        }

        public Criteria andIsVisaWaiverNotIn(List<Integer> values) {
            addCriterion("is_visa_waiver not in", values, "isVisaWaiver");
            return (Criteria) this;
        }

        public Criteria andIsVisaWaiverBetween(Integer value1, Integer value2) {
            addCriterion("is_visa_waiver between", value1, value2, "isVisaWaiver");
            return (Criteria) this;
        }

        public Criteria andIsVisaWaiverNotBetween(Integer value1, Integer value2) {
            addCriterion("is_visa_waiver not between", value1, value2, "isVisaWaiver");
            return (Criteria) this;
        }

        public Criteria andLevelIsNull() {
            addCriterion("level is null");
            return (Criteria) this;
        }

        public Criteria andLevelIsNotNull() {
            addCriterion("level is not null");
            return (Criteria) this;
        }

        public Criteria andLevelEqualTo(Integer value) {
            addCriterion("level =", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotEqualTo(Integer value) {
            addCriterion("level <>", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelGreaterThan(Integer value) {
            addCriterion("level >", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelGreaterThanOrEqualTo(Integer value) {
            addCriterion("level >=", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelLessThan(Integer value) {
            addCriterion("level <", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelLessThanOrEqualTo(Integer value) {
            addCriterion("level <=", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelIn(List<Integer> values) {
            addCriterion("level in", values, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotIn(List<Integer> values) {
            addCriterion("level not in", values, "level");
            return (Criteria) this;
        }

        public Criteria andLevelBetween(Integer value1, Integer value2) {
            addCriterion("level between", value1, value2, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotBetween(Integer value1, Integer value2) {
            addCriterion("level not between", value1, value2, "level");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveDateIsNull() {
            addCriterion("annual_leave_date is null");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveDateIsNotNull() {
            addCriterion("annual_leave_date is not null");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveDateEqualTo(Date value) {
            addCriterionForJDBCDate("annual_leave_date =", value, "annualLeaveDate");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("annual_leave_date <>", value, "annualLeaveDate");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveDateGreaterThan(Date value) {
            addCriterionForJDBCDate("annual_leave_date >", value, "annualLeaveDate");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("annual_leave_date >=", value, "annualLeaveDate");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveDateLessThan(Date value) {
            addCriterionForJDBCDate("annual_leave_date <", value, "annualLeaveDate");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("annual_leave_date <=", value, "annualLeaveDate");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveDateIn(List<Date> values) {
            addCriterionForJDBCDate("annual_leave_date in", values, "annualLeaveDate");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("annual_leave_date not in", values, "annualLeaveDate");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("annual_leave_date between", value1, value2, "annualLeaveDate");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("annual_leave_date not between", value1, value2, "annualLeaveDate");
            return (Criteria) this;
        }

        public Criteria andIsDisabledIsNull() {
            addCriterion("is_disabled is null");
            return (Criteria) this;
        }

        public Criteria andIsDisabledIsNotNull() {
            addCriterion("is_disabled is not null");
            return (Criteria) this;
        }

        public Criteria andIsDisabledEqualTo(Integer value) {
            addCriterion("is_disabled =", value, "isDisabled");
            return (Criteria) this;
        }

        public Criteria andIsDisabledNotEqualTo(Integer value) {
            addCriterion("is_disabled <>", value, "isDisabled");
            return (Criteria) this;
        }

        public Criteria andIsDisabledGreaterThan(Integer value) {
            addCriterion("is_disabled >", value, "isDisabled");
            return (Criteria) this;
        }

        public Criteria andIsDisabledGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_disabled >=", value, "isDisabled");
            return (Criteria) this;
        }

        public Criteria andIsDisabledLessThan(Integer value) {
            addCriterion("is_disabled <", value, "isDisabled");
            return (Criteria) this;
        }

        public Criteria andIsDisabledLessThanOrEqualTo(Integer value) {
            addCriterion("is_disabled <=", value, "isDisabled");
            return (Criteria) this;
        }

        public Criteria andIsDisabledIn(List<Integer> values) {
            addCriterion("is_disabled in", values, "isDisabled");
            return (Criteria) this;
        }

        public Criteria andIsDisabledNotIn(List<Integer> values) {
            addCriterion("is_disabled not in", values, "isDisabled");
            return (Criteria) this;
        }

        public Criteria andIsDisabledBetween(Integer value1, Integer value2) {
            addCriterion("is_disabled between", value1, value2, "isDisabled");
            return (Criteria) this;
        }

        public Criteria andIsDisabledNotBetween(Integer value1, Integer value2) {
            addCriterion("is_disabled not between", value1, value2, "isDisabled");
            return (Criteria) this;
        }

        public Criteria andFromDateIsNull() {
            addCriterion("from_date is null");
            return (Criteria) this;
        }

        public Criteria andFromDateIsNotNull() {
            addCriterion("from_date is not null");
            return (Criteria) this;
        }

        public Criteria andFromDateEqualTo(Date value) {
            addCriterionForJDBCDate("from_date =", value, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("from_date <>", value, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateGreaterThan(Date value) {
            addCriterionForJDBCDate("from_date >", value, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("from_date >=", value, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateLessThan(Date value) {
            addCriterionForJDBCDate("from_date <", value, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("from_date <=", value, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateIn(List<Date> values) {
            addCriterionForJDBCDate("from_date in", values, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("from_date not in", values, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("from_date between", value1, value2, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("from_date not between", value1, value2, "fromDate");
            return (Criteria) this;
        }

        public Criteria andThruDateIsNull() {
            addCriterion("thru_date is null");
            return (Criteria) this;
        }

        public Criteria andThruDateIsNotNull() {
            addCriterion("thru_date is not null");
            return (Criteria) this;
        }

        public Criteria andThruDateEqualTo(Date value) {
            addCriterionForJDBCDate("thru_date =", value, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("thru_date <>", value, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateGreaterThan(Date value) {
            addCriterionForJDBCDate("thru_date >", value, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("thru_date >=", value, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateLessThan(Date value) {
            addCriterionForJDBCDate("thru_date <", value, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("thru_date <=", value, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateIn(List<Date> values) {
            addCriterionForJDBCDate("thru_date in", values, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("thru_date not in", values, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("thru_date between", value1, value2, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("thru_date not between", value1, value2, "thruDate");
            return (Criteria) this;
        }

        public Criteria andN1empCodeIsNull() {
            addCriterion("n1emp_code is null");
            return (Criteria) this;
        }

        public Criteria andN1empCodeIsNotNull() {
            addCriterion("n1emp_code is not null");
            return (Criteria) this;
        }

        public Criteria andN1empCodeEqualTo(String value) {
            addCriterion("n1emp_code =", value, "n1empCode");
            return (Criteria) this;
        }

        public Criteria andN1empCodeNotEqualTo(String value) {
            addCriterion("n1emp_code <>", value, "n1empCode");
            return (Criteria) this;
        }

        public Criteria andN1empCodeGreaterThan(String value) {
            addCriterion("n1emp_code >", value, "n1empCode");
            return (Criteria) this;
        }

        public Criteria andN1empCodeGreaterThanOrEqualTo(String value) {
            addCriterion("n1emp_code >=", value, "n1empCode");
            return (Criteria) this;
        }

        public Criteria andN1empCodeLessThan(String value) {
            addCriterion("n1emp_code <", value, "n1empCode");
            return (Criteria) this;
        }

        public Criteria andN1empCodeLessThanOrEqualTo(String value) {
            addCriterion("n1emp_code <=", value, "n1empCode");
            return (Criteria) this;
        }

        public Criteria andN1empCodeLike(String value) {
            addCriterion("n1emp_code like", value, "n1empCode");
            return (Criteria) this;
        }

        public Criteria andN1empCodeNotLike(String value) {
            addCriterion("n1emp_code not like", value, "n1empCode");
            return (Criteria) this;
        }

        public Criteria andN1empCodeIn(List<String> values) {
            addCriterion("n1emp_code in", values, "n1empCode");
            return (Criteria) this;
        }

        public Criteria andN1empCodeNotIn(List<String> values) {
            addCriterion("n1emp_code not in", values, "n1empCode");
            return (Criteria) this;
        }

        public Criteria andN1empCodeBetween(String value1, String value2) {
            addCriterion("n1emp_code between", value1, value2, "n1empCode");
            return (Criteria) this;
        }

        public Criteria andN1empCodeNotBetween(String value1, String value2) {
            addCriterion("n1emp_code not between", value1, value2, "n1empCode");
            return (Criteria) this;
        }

        public Criteria andN1empNameIsNull() {
            addCriterion("n1emp_name is null");
            return (Criteria) this;
        }

        public Criteria andN1empNameIsNotNull() {
            addCriterion("n1emp_name is not null");
            return (Criteria) this;
        }

        public Criteria andN1empNameEqualTo(String value) {
            addCriterion("n1emp_name =", value, "n1empName");
            return (Criteria) this;
        }

        public Criteria andN1empNameNotEqualTo(String value) {
            addCriterion("n1emp_name <>", value, "n1empName");
            return (Criteria) this;
        }

        public Criteria andN1empNameGreaterThan(String value) {
            addCriterion("n1emp_name >", value, "n1empName");
            return (Criteria) this;
        }

        public Criteria andN1empNameGreaterThanOrEqualTo(String value) {
            addCriterion("n1emp_name >=", value, "n1empName");
            return (Criteria) this;
        }

        public Criteria andN1empNameLessThan(String value) {
            addCriterion("n1emp_name <", value, "n1empName");
            return (Criteria) this;
        }

        public Criteria andN1empNameLessThanOrEqualTo(String value) {
            addCriterion("n1emp_name <=", value, "n1empName");
            return (Criteria) this;
        }

        public Criteria andN1empNameLike(String value) {
            addCriterion("n1emp_name like", value, "n1empName");
            return (Criteria) this;
        }

        public Criteria andN1empNameNotLike(String value) {
            addCriterion("n1emp_name not like", value, "n1empName");
            return (Criteria) this;
        }

        public Criteria andN1empNameIn(List<String> values) {
            addCriterion("n1emp_name in", values, "n1empName");
            return (Criteria) this;
        }

        public Criteria andN1empNameNotIn(List<String> values) {
            addCriterion("n1emp_name not in", values, "n1empName");
            return (Criteria) this;
        }

        public Criteria andN1empNameBetween(String value1, String value2) {
            addCriterion("n1emp_name between", value1, value2, "n1empName");
            return (Criteria) this;
        }

        public Criteria andN1empNameNotBetween(String value1, String value2) {
            addCriterion("n1emp_name not between", value1, value2, "n1empName");
            return (Criteria) this;
        }

        public Criteria andN2empCodeIsNull() {
            addCriterion("n2emp_code is null");
            return (Criteria) this;
        }

        public Criteria andN2empCodeIsNotNull() {
            addCriterion("n2emp_code is not null");
            return (Criteria) this;
        }

        public Criteria andN2empCodeEqualTo(String value) {
            addCriterion("n2emp_code =", value, "n2empCode");
            return (Criteria) this;
        }

        public Criteria andN2empCodeNotEqualTo(String value) {
            addCriterion("n2emp_code <>", value, "n2empCode");
            return (Criteria) this;
        }

        public Criteria andN2empCodeGreaterThan(String value) {
            addCriterion("n2emp_code >", value, "n2empCode");
            return (Criteria) this;
        }

        public Criteria andN2empCodeGreaterThanOrEqualTo(String value) {
            addCriterion("n2emp_code >=", value, "n2empCode");
            return (Criteria) this;
        }

        public Criteria andN2empCodeLessThan(String value) {
            addCriterion("n2emp_code <", value, "n2empCode");
            return (Criteria) this;
        }

        public Criteria andN2empCodeLessThanOrEqualTo(String value) {
            addCriterion("n2emp_code <=", value, "n2empCode");
            return (Criteria) this;
        }

        public Criteria andN2empCodeLike(String value) {
            addCriterion("n2emp_code like", value, "n2empCode");
            return (Criteria) this;
        }

        public Criteria andN2empCodeNotLike(String value) {
            addCriterion("n2emp_code not like", value, "n2empCode");
            return (Criteria) this;
        }

        public Criteria andN2empCodeIn(List<String> values) {
            addCriterion("n2emp_code in", values, "n2empCode");
            return (Criteria) this;
        }

        public Criteria andN2empCodeNotIn(List<String> values) {
            addCriterion("n2emp_code not in", values, "n2empCode");
            return (Criteria) this;
        }

        public Criteria andN2empCodeBetween(String value1, String value2) {
            addCriterion("n2emp_code between", value1, value2, "n2empCode");
            return (Criteria) this;
        }

        public Criteria andN2empCodeNotBetween(String value1, String value2) {
            addCriterion("n2emp_code not between", value1, value2, "n2empCode");
            return (Criteria) this;
        }

        public Criteria andN2empNameIsNull() {
            addCriterion("n2emp_name is null");
            return (Criteria) this;
        }

        public Criteria andN2empNameIsNotNull() {
            addCriterion("n2emp_name is not null");
            return (Criteria) this;
        }

        public Criteria andN2empNameEqualTo(String value) {
            addCriterion("n2emp_name =", value, "n2empName");
            return (Criteria) this;
        }

        public Criteria andN2empNameNotEqualTo(String value) {
            addCriterion("n2emp_name <>", value, "n2empName");
            return (Criteria) this;
        }

        public Criteria andN2empNameGreaterThan(String value) {
            addCriterion("n2emp_name >", value, "n2empName");
            return (Criteria) this;
        }

        public Criteria andN2empNameGreaterThanOrEqualTo(String value) {
            addCriterion("n2emp_name >=", value, "n2empName");
            return (Criteria) this;
        }

        public Criteria andN2empNameLessThan(String value) {
            addCriterion("n2emp_name <", value, "n2empName");
            return (Criteria) this;
        }

        public Criteria andN2empNameLessThanOrEqualTo(String value) {
            addCriterion("n2emp_name <=", value, "n2empName");
            return (Criteria) this;
        }

        public Criteria andN2empNameLike(String value) {
            addCriterion("n2emp_name like", value, "n2empName");
            return (Criteria) this;
        }

        public Criteria andN2empNameNotLike(String value) {
            addCriterion("n2emp_name not like", value, "n2empName");
            return (Criteria) this;
        }

        public Criteria andN2empNameIn(List<String> values) {
            addCriterion("n2emp_name in", values, "n2empName");
            return (Criteria) this;
        }

        public Criteria andN2empNameNotIn(List<String> values) {
            addCriterion("n2emp_name not in", values, "n2empName");
            return (Criteria) this;
        }

        public Criteria andN2empNameBetween(String value1, String value2) {
            addCriterion("n2emp_name between", value1, value2, "n2empName");
            return (Criteria) this;
        }

        public Criteria andN2empNameNotBetween(String value1, String value2) {
            addCriterion("n2emp_name not between", value1, value2, "n2empName");
            return (Criteria) this;
        }

        public Criteria andOrganize1stNameIsNull() {
            addCriterion("organize1st_name is null");
            return (Criteria) this;
        }

        public Criteria andOrganize1stNameIsNotNull() {
            addCriterion("organize1st_name is not null");
            return (Criteria) this;
        }

        public Criteria andOrganize1stNameEqualTo(String value) {
            addCriterion("organize1st_name =", value, "organize1stName");
            return (Criteria) this;
        }

        public Criteria andOrganize1stNameNotEqualTo(String value) {
            addCriterion("organize1st_name <>", value, "organize1stName");
            return (Criteria) this;
        }

        public Criteria andOrganize1stNameGreaterThan(String value) {
            addCriterion("organize1st_name >", value, "organize1stName");
            return (Criteria) this;
        }

        public Criteria andOrganize1stNameGreaterThanOrEqualTo(String value) {
            addCriterion("organize1st_name >=", value, "organize1stName");
            return (Criteria) this;
        }

        public Criteria andOrganize1stNameLessThan(String value) {
            addCriterion("organize1st_name <", value, "organize1stName");
            return (Criteria) this;
        }

        public Criteria andOrganize1stNameLessThanOrEqualTo(String value) {
            addCriterion("organize1st_name <=", value, "organize1stName");
            return (Criteria) this;
        }

        public Criteria andOrganize1stNameLike(String value) {
            addCriterion("organize1st_name like", value, "organize1stName");
            return (Criteria) this;
        }

        public Criteria andOrganize1stNameNotLike(String value) {
            addCriterion("organize1st_name not like", value, "organize1stName");
            return (Criteria) this;
        }

        public Criteria andOrganize1stNameIn(List<String> values) {
            addCriterion("organize1st_name in", values, "organize1stName");
            return (Criteria) this;
        }

        public Criteria andOrganize1stNameNotIn(List<String> values) {
            addCriterion("organize1st_name not in", values, "organize1stName");
            return (Criteria) this;
        }

        public Criteria andOrganize1stNameBetween(String value1, String value2) {
            addCriterion("organize1st_name between", value1, value2, "organize1stName");
            return (Criteria) this;
        }

        public Criteria andOrganize1stNameNotBetween(String value1, String value2) {
            addCriterion("organize1st_name not between", value1, value2, "organize1stName");
            return (Criteria) this;
        }

        public Criteria andOrganize1stCodeIsNull() {
            addCriterion("organize1st_code is null");
            return (Criteria) this;
        }

        public Criteria andOrganize1stCodeIsNotNull() {
            addCriterion("organize1st_code is not null");
            return (Criteria) this;
        }

        public Criteria andOrganize1stCodeEqualTo(String value) {
            addCriterion("organize1st_code =", value, "organize1stCode");
            return (Criteria) this;
        }

        public Criteria andOrganize1stCodeNotEqualTo(String value) {
            addCriterion("organize1st_code <>", value, "organize1stCode");
            return (Criteria) this;
        }

        public Criteria andOrganize1stCodeGreaterThan(String value) {
            addCriterion("organize1st_code >", value, "organize1stCode");
            return (Criteria) this;
        }

        public Criteria andOrganize1stCodeGreaterThanOrEqualTo(String value) {
            addCriterion("organize1st_code >=", value, "organize1stCode");
            return (Criteria) this;
        }

        public Criteria andOrganize1stCodeLessThan(String value) {
            addCriterion("organize1st_code <", value, "organize1stCode");
            return (Criteria) this;
        }

        public Criteria andOrganize1stCodeLessThanOrEqualTo(String value) {
            addCriterion("organize1st_code <=", value, "organize1stCode");
            return (Criteria) this;
        }

        public Criteria andOrganize1stCodeLike(String value) {
            addCriterion("organize1st_code like", value, "organize1stCode");
            return (Criteria) this;
        }

        public Criteria andOrganize1stCodeNotLike(String value) {
            addCriterion("organize1st_code not like", value, "organize1stCode");
            return (Criteria) this;
        }

        public Criteria andOrganize1stCodeIn(List<String> values) {
            addCriterion("organize1st_code in", values, "organize1stCode");
            return (Criteria) this;
        }

        public Criteria andOrganize1stCodeNotIn(List<String> values) {
            addCriterion("organize1st_code not in", values, "organize1stCode");
            return (Criteria) this;
        }

        public Criteria andOrganize1stCodeBetween(String value1, String value2) {
            addCriterion("organize1st_code between", value1, value2, "organize1stCode");
            return (Criteria) this;
        }

        public Criteria andOrganize1stCodeNotBetween(String value1, String value2) {
            addCriterion("organize1st_code not between", value1, value2, "organize1stCode");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndCodeIsNull() {
            addCriterion("organize2nd_code is null");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndCodeIsNotNull() {
            addCriterion("organize2nd_code is not null");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndCodeEqualTo(String value) {
            addCriterion("organize2nd_code =", value, "organize2ndCode");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndCodeNotEqualTo(String value) {
            addCriterion("organize2nd_code <>", value, "organize2ndCode");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndCodeGreaterThan(String value) {
            addCriterion("organize2nd_code >", value, "organize2ndCode");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndCodeGreaterThanOrEqualTo(String value) {
            addCriterion("organize2nd_code >=", value, "organize2ndCode");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndCodeLessThan(String value) {
            addCriterion("organize2nd_code <", value, "organize2ndCode");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndCodeLessThanOrEqualTo(String value) {
            addCriterion("organize2nd_code <=", value, "organize2ndCode");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndCodeLike(String value) {
            addCriterion("organize2nd_code like", value, "organize2ndCode");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndCodeNotLike(String value) {
            addCriterion("organize2nd_code not like", value, "organize2ndCode");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndCodeIn(List<String> values) {
            addCriterion("organize2nd_code in", values, "organize2ndCode");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndCodeNotIn(List<String> values) {
            addCriterion("organize2nd_code not in", values, "organize2ndCode");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndCodeBetween(String value1, String value2) {
            addCriterion("organize2nd_code between", value1, value2, "organize2ndCode");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndCodeNotBetween(String value1, String value2) {
            addCriterion("organize2nd_code not between", value1, value2, "organize2ndCode");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndNameIsNull() {
            addCriterion("organize2nd_name is null");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndNameIsNotNull() {
            addCriterion("organize2nd_name is not null");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndNameEqualTo(String value) {
            addCriterion("organize2nd_name =", value, "organize2ndName");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndNameNotEqualTo(String value) {
            addCriterion("organize2nd_name <>", value, "organize2ndName");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndNameGreaterThan(String value) {
            addCriterion("organize2nd_name >", value, "organize2ndName");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndNameGreaterThanOrEqualTo(String value) {
            addCriterion("organize2nd_name >=", value, "organize2ndName");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndNameLessThan(String value) {
            addCriterion("organize2nd_name <", value, "organize2ndName");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndNameLessThanOrEqualTo(String value) {
            addCriterion("organize2nd_name <=", value, "organize2ndName");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndNameLike(String value) {
            addCriterion("organize2nd_name like", value, "organize2ndName");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndNameNotLike(String value) {
            addCriterion("organize2nd_name not like", value, "organize2ndName");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndNameIn(List<String> values) {
            addCriterion("organize2nd_name in", values, "organize2ndName");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndNameNotIn(List<String> values) {
            addCriterion("organize2nd_name not in", values, "organize2ndName");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndNameBetween(String value1, String value2) {
            addCriterion("organize2nd_name between", value1, value2, "organize2ndName");
            return (Criteria) this;
        }

        public Criteria andOrganize2ndNameNotBetween(String value1, String value2) {
            addCriterion("organize2nd_name not between", value1, value2, "organize2ndName");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdCodeIsNull() {
            addCriterion("organize3rd_code is null");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdCodeIsNotNull() {
            addCriterion("organize3rd_code is not null");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdCodeEqualTo(String value) {
            addCriterion("organize3rd_code =", value, "organize3rdCode");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdCodeNotEqualTo(String value) {
            addCriterion("organize3rd_code <>", value, "organize3rdCode");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdCodeGreaterThan(String value) {
            addCriterion("organize3rd_code >", value, "organize3rdCode");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdCodeGreaterThanOrEqualTo(String value) {
            addCriterion("organize3rd_code >=", value, "organize3rdCode");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdCodeLessThan(String value) {
            addCriterion("organize3rd_code <", value, "organize3rdCode");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdCodeLessThanOrEqualTo(String value) {
            addCriterion("organize3rd_code <=", value, "organize3rdCode");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdCodeLike(String value) {
            addCriterion("organize3rd_code like", value, "organize3rdCode");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdCodeNotLike(String value) {
            addCriterion("organize3rd_code not like", value, "organize3rdCode");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdCodeIn(List<String> values) {
            addCriterion("organize3rd_code in", values, "organize3rdCode");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdCodeNotIn(List<String> values) {
            addCriterion("organize3rd_code not in", values, "organize3rdCode");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdCodeBetween(String value1, String value2) {
            addCriterion("organize3rd_code between", value1, value2, "organize3rdCode");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdCodeNotBetween(String value1, String value2) {
            addCriterion("organize3rd_code not between", value1, value2, "organize3rdCode");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdNameIsNull() {
            addCriterion("organize3rd_name is null");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdNameIsNotNull() {
            addCriterion("organize3rd_name is not null");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdNameEqualTo(String value) {
            addCriterion("organize3rd_name =", value, "organize3rdName");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdNameNotEqualTo(String value) {
            addCriterion("organize3rd_name <>", value, "organize3rdName");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdNameGreaterThan(String value) {
            addCriterion("organize3rd_name >", value, "organize3rdName");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdNameGreaterThanOrEqualTo(String value) {
            addCriterion("organize3rd_name >=", value, "organize3rdName");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdNameLessThan(String value) {
            addCriterion("organize3rd_name <", value, "organize3rdName");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdNameLessThanOrEqualTo(String value) {
            addCriterion("organize3rd_name <=", value, "organize3rdName");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdNameLike(String value) {
            addCriterion("organize3rd_name like", value, "organize3rdName");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdNameNotLike(String value) {
            addCriterion("organize3rd_name not like", value, "organize3rdName");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdNameIn(List<String> values) {
            addCriterion("organize3rd_name in", values, "organize3rdName");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdNameNotIn(List<String> values) {
            addCriterion("organize3rd_name not in", values, "organize3rdName");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdNameBetween(String value1, String value2) {
            addCriterion("organize3rd_name between", value1, value2, "organize3rdName");
            return (Criteria) this;
        }

        public Criteria andOrganize3rdNameNotBetween(String value1, String value2) {
            addCriterion("organize3rd_name not between", value1, value2, "organize3rdName");
            return (Criteria) this;
        }

        public Criteria andOrganize4thCodeIsNull() {
            addCriterion("organize4th_code is null");
            return (Criteria) this;
        }

        public Criteria andOrganize4thCodeIsNotNull() {
            addCriterion("organize4th_code is not null");
            return (Criteria) this;
        }

        public Criteria andOrganize4thCodeEqualTo(String value) {
            addCriterion("organize4th_code =", value, "organize4thCode");
            return (Criteria) this;
        }

        public Criteria andOrganize4thCodeNotEqualTo(String value) {
            addCriterion("organize4th_code <>", value, "organize4thCode");
            return (Criteria) this;
        }

        public Criteria andOrganize4thCodeGreaterThan(String value) {
            addCriterion("organize4th_code >", value, "organize4thCode");
            return (Criteria) this;
        }

        public Criteria andOrganize4thCodeGreaterThanOrEqualTo(String value) {
            addCriterion("organize4th_code >=", value, "organize4thCode");
            return (Criteria) this;
        }

        public Criteria andOrganize4thCodeLessThan(String value) {
            addCriterion("organize4th_code <", value, "organize4thCode");
            return (Criteria) this;
        }

        public Criteria andOrganize4thCodeLessThanOrEqualTo(String value) {
            addCriterion("organize4th_code <=", value, "organize4thCode");
            return (Criteria) this;
        }

        public Criteria andOrganize4thCodeLike(String value) {
            addCriterion("organize4th_code like", value, "organize4thCode");
            return (Criteria) this;
        }

        public Criteria andOrganize4thCodeNotLike(String value) {
            addCriterion("organize4th_code not like", value, "organize4thCode");
            return (Criteria) this;
        }

        public Criteria andOrganize4thCodeIn(List<String> values) {
            addCriterion("organize4th_code in", values, "organize4thCode");
            return (Criteria) this;
        }

        public Criteria andOrganize4thCodeNotIn(List<String> values) {
            addCriterion("organize4th_code not in", values, "organize4thCode");
            return (Criteria) this;
        }

        public Criteria andOrganize4thCodeBetween(String value1, String value2) {
            addCriterion("organize4th_code between", value1, value2, "organize4thCode");
            return (Criteria) this;
        }

        public Criteria andOrganize4thCodeNotBetween(String value1, String value2) {
            addCriterion("organize4th_code not between", value1, value2, "organize4thCode");
            return (Criteria) this;
        }

        public Criteria andOrganize4thNameIsNull() {
            addCriterion("organize4th_name is null");
            return (Criteria) this;
        }

        public Criteria andOrganize4thNameIsNotNull() {
            addCriterion("organize4th_name is not null");
            return (Criteria) this;
        }

        public Criteria andOrganize4thNameEqualTo(String value) {
            addCriterion("organize4th_name =", value, "organize4thName");
            return (Criteria) this;
        }

        public Criteria andOrganize4thNameNotEqualTo(String value) {
            addCriterion("organize4th_name <>", value, "organize4thName");
            return (Criteria) this;
        }

        public Criteria andOrganize4thNameGreaterThan(String value) {
            addCriterion("organize4th_name >", value, "organize4thName");
            return (Criteria) this;
        }

        public Criteria andOrganize4thNameGreaterThanOrEqualTo(String value) {
            addCriterion("organize4th_name >=", value, "organize4thName");
            return (Criteria) this;
        }

        public Criteria andOrganize4thNameLessThan(String value) {
            addCriterion("organize4th_name <", value, "organize4thName");
            return (Criteria) this;
        }

        public Criteria andOrganize4thNameLessThanOrEqualTo(String value) {
            addCriterion("organize4th_name <=", value, "organize4thName");
            return (Criteria) this;
        }

        public Criteria andOrganize4thNameLike(String value) {
            addCriterion("organize4th_name like", value, "organize4thName");
            return (Criteria) this;
        }

        public Criteria andOrganize4thNameNotLike(String value) {
            addCriterion("organize4th_name not like", value, "organize4thName");
            return (Criteria) this;
        }

        public Criteria andOrganize4thNameIn(List<String> values) {
            addCriterion("organize4th_name in", values, "organize4thName");
            return (Criteria) this;
        }

        public Criteria andOrganize4thNameNotIn(List<String> values) {
            addCriterion("organize4th_name not in", values, "organize4thName");
            return (Criteria) this;
        }

        public Criteria andOrganize4thNameBetween(String value1, String value2) {
            addCriterion("organize4th_name between", value1, value2, "organize4thName");
            return (Criteria) this;
        }

        public Criteria andOrganize4thNameNotBetween(String value1, String value2) {
            addCriterion("organize4th_name not between", value1, value2, "organize4thName");
            return (Criteria) this;
        }

        public Criteria andProjectTeamCodeIsNull() {
            addCriterion("project_team_code is null");
            return (Criteria) this;
        }

        public Criteria andProjectTeamCodeIsNotNull() {
            addCriterion("project_team_code is not null");
            return (Criteria) this;
        }

        public Criteria andProjectTeamCodeEqualTo(String value) {
            addCriterion("project_team_code =", value, "projectTeamCode");
            return (Criteria) this;
        }

        public Criteria andProjectTeamCodeNotEqualTo(String value) {
            addCriterion("project_team_code <>", value, "projectTeamCode");
            return (Criteria) this;
        }

        public Criteria andProjectTeamCodeGreaterThan(String value) {
            addCriterion("project_team_code >", value, "projectTeamCode");
            return (Criteria) this;
        }

        public Criteria andProjectTeamCodeGreaterThanOrEqualTo(String value) {
            addCriterion("project_team_code >=", value, "projectTeamCode");
            return (Criteria) this;
        }

        public Criteria andProjectTeamCodeLessThan(String value) {
            addCriterion("project_team_code <", value, "projectTeamCode");
            return (Criteria) this;
        }

        public Criteria andProjectTeamCodeLessThanOrEqualTo(String value) {
            addCriterion("project_team_code <=", value, "projectTeamCode");
            return (Criteria) this;
        }

        public Criteria andProjectTeamCodeLike(String value) {
            addCriterion("project_team_code like", value, "projectTeamCode");
            return (Criteria) this;
        }

        public Criteria andProjectTeamCodeNotLike(String value) {
            addCriterion("project_team_code not like", value, "projectTeamCode");
            return (Criteria) this;
        }

        public Criteria andProjectTeamCodeIn(List<String> values) {
            addCriterion("project_team_code in", values, "projectTeamCode");
            return (Criteria) this;
        }

        public Criteria andProjectTeamCodeNotIn(List<String> values) {
            addCriterion("project_team_code not in", values, "projectTeamCode");
            return (Criteria) this;
        }

        public Criteria andProjectTeamCodeBetween(String value1, String value2) {
            addCriterion("project_team_code between", value1, value2, "projectTeamCode");
            return (Criteria) this;
        }

        public Criteria andProjectTeamCodeNotBetween(String value1, String value2) {
            addCriterion("project_team_code not between", value1, value2, "projectTeamCode");
            return (Criteria) this;
        }

        public Criteria andProjectTeamNameIsNull() {
            addCriterion("project_team_name is null");
            return (Criteria) this;
        }

        public Criteria andProjectTeamNameIsNotNull() {
            addCriterion("project_team_name is not null");
            return (Criteria) this;
        }

        public Criteria andProjectTeamNameEqualTo(String value) {
            addCriterion("project_team_name =", value, "projectTeamName");
            return (Criteria) this;
        }

        public Criteria andProjectTeamNameNotEqualTo(String value) {
            addCriterion("project_team_name <>", value, "projectTeamName");
            return (Criteria) this;
        }

        public Criteria andProjectTeamNameGreaterThan(String value) {
            addCriterion("project_team_name >", value, "projectTeamName");
            return (Criteria) this;
        }

        public Criteria andProjectTeamNameGreaterThanOrEqualTo(String value) {
            addCriterion("project_team_name >=", value, "projectTeamName");
            return (Criteria) this;
        }

        public Criteria andProjectTeamNameLessThan(String value) {
            addCriterion("project_team_name <", value, "projectTeamName");
            return (Criteria) this;
        }

        public Criteria andProjectTeamNameLessThanOrEqualTo(String value) {
            addCriterion("project_team_name <=", value, "projectTeamName");
            return (Criteria) this;
        }

        public Criteria andProjectTeamNameLike(String value) {
            addCriterion("project_team_name like", value, "projectTeamName");
            return (Criteria) this;
        }

        public Criteria andProjectTeamNameNotLike(String value) {
            addCriterion("project_team_name not like", value, "projectTeamName");
            return (Criteria) this;
        }

        public Criteria andProjectTeamNameIn(List<String> values) {
            addCriterion("project_team_name in", values, "projectTeamName");
            return (Criteria) this;
        }

        public Criteria andProjectTeamNameNotIn(List<String> values) {
            addCriterion("project_team_name not in", values, "projectTeamName");
            return (Criteria) this;
        }

        public Criteria andProjectTeamNameBetween(String value1, String value2) {
            addCriterion("project_team_name between", value1, value2, "projectTeamName");
            return (Criteria) this;
        }

        public Criteria andProjectTeamNameNotBetween(String value1, String value2) {
            addCriterion("project_team_name not between", value1, value2, "projectTeamName");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}